package com.my.interview.lock;

/**
 * 可重入锁 synchronized
 * 可重入锁最大的作用时避免死锁,同一线程中的不同方法可以重复的加锁解锁
 */
public class SynchronizedTest implements Runnable {


    public synchronized void get(){

        System.out.println(Thread.currentThread().getId());
        set();
    }

    public synchronized void set(){

        System.out.println(Thread.currentThread().getId());
    }



    @Override
    public void run() {
        get();
    }


    public static void main(String[] args) {

        SynchronizedTest test = new SynchronizedTest();
        new Thread(test).start();
        new Thread(test).start();
        new Thread(test).start();
    }
}
